/* Integration points (quadratures)
   Jan Stebel
*/

#ifndef _LINDISCPOINT_H__
#define _LINDISCPOINT_H__

#include "linpoint.h"


/** Linear discontinuous interpolation */
template<unsigned int dim>
class LinDiscPoint : public LinPoint<dim>
{
protected:
	using IntPoint<dim>::imesh;

	bool isLinear() { return true; };
	bool isDiscontinuous() { return true; };

public:
	LinDiscPoint() {};
	LinDiscPoint(Mesh *mesh, const Quadrature<dim> *q) { IntPoint<dim>::init(mesh, q, dim+1); };
	int mapDof(int e, int n);
	int mapDof(int e, int n, int p);
	inline int getMeshNdof() { return imesh->getNvolumes()*4 + imesh->getNfaces()*3 + imesh->getNedges()*2; }
};









#endif
